]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Remove LayoutManager::fullscreen-changed
authorOwen W. Taylor <otaylor@fishsoup.net>
Mon, 18 Mar 2013 19:02:05 +0000 (15:02 -0400)
committerOwen W. Taylor <otaylor@fishsoup.net>
Mon, 29 Apr 2013 15:17:29 +0000 (11:17 -0400)
Since we now have global.screen::in-fullscreen-changed, remove the
duplicate signal. To prevent ordering problems in connecting to
this signal, make inFullscreen a property-function of a new Monitor
object rather than a data property we tack on to a Rectangle object.

https://bugzilla.gnome.org/show_bug.cgi?id=649748

js/ui/layout.js
js/ui/messageTray.js

index d4dc293c294feb9c9c69286500134e78b825e856..67c277c1a85e7a2d2b3ff18bf8857b578fbc9b2d 100644 (file)
@@ -118,6 +118,22 @@ const MonitorConstraint = new Lang.Class({
     }
 });
 
+const Monitor = new Lang.Class({
+    Name: 'Monitor',
+
+    _init: function(index, geometry) {
+        this.index = index;
+        this.x = geometry.x;
+        this.y = geometry.y;
+        this.width = geometry.width;
+        this.height = geometry.height;
+    },
+
+    get inFullscreen() {
+        return global.screen.get_monitor_in_fullscreen(this.index);
+    }
+})
+
 const defaultParams = {
     trackFullscreen: false,
     affectsStruts: false,
@@ -261,7 +277,7 @@ const LayoutManager = new Lang.Class({
         this.monitors = [];
         let nMonitors = screen.get_n_monitors();
         for (let i = 0; i < nMonitors; i++)
-            this.monitors.push(screen.get_monitor_geometry(i));
+            this.monitors.push(new Monitor(i, screen.get_monitor_geometry(i)));
 
         if (nMonitors == 1) {
             this.primaryIndex = this.bottomIndex = 0;
@@ -904,13 +920,8 @@ const LayoutManager = new Lang.Class({
     },
 
     _updateFullscreen: function() {
-        for (let i = 0; i < this.monitors.length; i++)
-            this.monitors[i].inFullscreen = global.screen.get_monitor_in_fullscreen (i);
-
         this._updateVisibility();
         this._queueUpdateRegions();
-
-        this.emit('fullscreen-changed');
     },
 
     _windowsRestacked: function() {
index c9e64e7f83eb09c02d0a947888ccc69628f6d319..c1c3a83ece7f9142f67a4db269ddc7dc9d06ad79 100644 (file)
@@ -1657,7 +1657,6 @@ const MessageTray = new Lang.Class({
         this._desktopCloneState = State.HIDDEN;
         this._notificationRemoved = false;
         this._reNotifyAfterHideNotification = null;
-        this._inFullscreen = false;
         this._desktopClone = null;
         this._inCtrlAltTab = false;
 
@@ -1674,7 +1673,7 @@ const MessageTray = new Lang.Class({
         Main.layoutManager.trackChrome(this._notificationWidget);
         Main.layoutManager.trackChrome(this._closeButton);
 
-        Main.layoutManager.connect('fullscreen-changed', Lang.bind(this, this._updateState));
+        global.screen.connect('in-fullscreen-changed', Lang.bind(this, this._updateState));
         Main.layoutManager.connect('hot-corners-changed', Lang.bind(this, this._hotCornersChanged));
 
         // If the overview shows or hides while we're in